/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controlador;

import Modelo.Entidades.Usuario;
import Modelo.Entidades.Sesion;
import Modelo.Entidades.SesionImpl;
import Modelo.SesionModel;
import Vista.Sesion.SesionView;
import Vista.SesionActual;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/*
 *  Proyecto eJAM [G12]
 *  Miembros:
 *      - Javier Ruiz Hidalgo
 *      - Adrian Ramos Cápitas
 *      - Miguel Alejandro Esteban Ordóñez
 */

public class SesionControllerImpl extends AbstractControllerImpl<SesionModel, SesionView, Serializable> implements SesionController{

    @Override
    protected Sesion generaEntidad(List<Serializable> datos) {
        Usuario usuario = (Usuario)datos.get(0);
        Date fecha = (Date)datos.get(1);

        Sesion sesion = new SesionImpl(usuario, fecha);

        //Almacenamiento de la Sesion Actual
        SesionActual.instancia().nuevaSesion(sesion);

        return sesion;
    }

    @Override
    protected Sesion generaEntidad(Serializable pk) {
        // No contemplado
        return null;
    }

    public Sesion generaEntidad(String pk1, Date pk2) {
        return new SesionImpl((Usuario)new UsuarioControllerImpl().generaEntidad(pk1), pk2);
    }

}
